package tech.aistar.corejava.day07;

/**
 * @author success
 * @version 1.0
 * @description:本类用来演示:二维数组中存放杨辉三角
 * @date 2019/7/23 0023
 */
public class YangHuiDemo {
    public static void main(String[] args) {
        getYangHui(9);
        //printYangHui();
       // System.out.println(getYangHui(1));
    }

//    public static void printYangHui(){
//        for (int i = 0; i < 9; i++) {
//            for (int j = 0; j <= i ; j++) {
//                System.out.print("*\t");
//            }
//            System.out.println();
//        }
//    }

    /**
     * @param n 行数
     */
    public static void getYangHui(int n){
        //定义二维数组的时候,我们的列是可以省略的.
        //但是当列省略的时候,在使用之前,一定要先进行初始化.
        int[][] arr = new int[n][];

        for (int i = 0; i < n ; i++) {
            arr[i] = new int[i+1];//针对的是列省略的情况
            for (int j = 0; j <= i ; j++) {
                //对二维数组的坐标进行一一赋值
                if(j == 0 || i == j){
                    arr[i][j] = 1;
                    System.out.print(arr[i][j]+"\t");
                }else{
                    arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
                    System.out.print(arr[i][j]+"\t");
                }
            }
            System.out.println();
        }
    }
}
